Why "page.goto()" is slowing down your Playwright tests
code:option-varieties.js
// Wait until the HTML starts loading.
await page.goto("/", {waitUntil: "commit"});
// Wait until the HTML is parsed
// and deferred scripts (<script deferred> and <script type="module">) are loaded.
await page.goto("/", {waitUntil: "domcontentloaded"});
// Wait until all initially included resources are loaded.
await page.goto("/", {waitUntil: "load"});
// Wait until every resource is loaded and the network is silent for 500ms.
await page.goto("/", {waitUntil: "networkidle"});
table:speed-comparison
Option "page.goto" execution time
commit 62ms
domcontentloaded 159ms
load 10.1s
networkidle 12.6s
Hydration などは SSR で静的なフィールドが提供されてからイベントがリスンされるのでテストがコケるケースはあるもの
ほとんどケースにおいてネットワーク上でサブリソースをテストで参照しなくてはいけないシーンはないはずなので、script loaded がええんかな。しかし evaluate されたあとなのかよくわからん